第三届“中科实数杯”团体赛wp 您所在的位置:网站首页 cmd 查看磁盘分区 第三届“中科实数杯”团体赛wp

第三届“中科实数杯”团体赛wp

2023-05-03 17:25| 来源: 网络整理| 查看: 265

团体赛题目整体分为两部分:磁盘镜像分析 & 安卓模拟器分析,难度上第一部分比较简单,第二部分涉及到很多安卓相关知识,相对比较困难

Part1 磁盘镜像分析(300分)

基于硬盘镜像文件(windows7disk.E01),要求:

01 请找出操作系统设置的时区名称。(20分)

取证大师自动取证,在系统痕迹的时区信息里

02 请给出源磁盘的SHA256哈希值。(10分)

计算镜像的hash,直接取证大师就可以

名称: E:\中科实数杯\windows7disk.E01; 设备类型: 磁盘镜像; 大小: 30.00 GB; 扇区数: 62,914,560; 计算扇区数: 62914560; 起始扇区: 0; 结束扇区: 62914559; 设备序列号: ; SHA-256值: 4547A61A11064DF47B272A4803788597F9A5E9AC0F11A93ABE58C8B8588956CB 03 请找出使用Bitlocker加密的虚拟磁盘文件中文件名为“新建文本文档.txt”的文件内容。(10分)

在取证之后的文件分析中可以看到有2个vhd文件

和一个bitlocker的恢复密钥

用火眼把镜像仿真起来,把vhd挂载后用恢复密钥尝试分别解密,发现第二个可以解开,里面的txt内容就是本题答案

C6B1DC7D41DFF9D85800217E7F8CC3BF7A89BA349C69A5B2C4E9966CD3689CC404 请找出各分区文件系统类型。(10分)

镜像里只有一个分区,类型为NTFS

05 请找出操作系统主机名。(10分)

取证结果的系统信息里

06 请找出操作系统版本号。(10分)

同上,也在系统信息里

07 请找出使用Bitlocker加密的虚拟磁盘文件恢复密钥文件名是什么。(20分)

在取证结果的密钥检索里可以看到这个文件,跳转到源文件即可看到文件名,或者仿真之后与之前的vhd文件在同一个文件夹

08 请找出用户“poiuy”的SID。(10分)

取证结果的用户信息里

09 请找出操作系统中安装的浏览器名称的对应的安装日期。(10分)

仿真后可以看到只安装了Google Chrome,在取证结果的安装软件中可以找到对应的安装日期

10 请找出曾经连接到该系统的U盘的品牌、序列号、最后插拔日期。(20分)

取证结果的USB设备使用痕迹中

11 请找出回收站中的文件(含原位置)。(30分)

取证结果的用户痕迹中有回收站删除记录

12 请找出用户“poiuy”的登录密码。(10分)

取证结果的用户信息里,可以看到对应用户密码的NThash值

如果本题只是问hash值的话到这里就可以了,如果想要得到原本的密码,还需要爆破hash,当然在线网站可以直接解,如果你有比较全的字典也可以用hashcat进行爆破(最终密码是09876543),hashcat使用方法就不细讲了,可以看看文章

13 请找出使用Bitlocker加密的虚拟磁盘文件。(20分)

在第三题已经提到过了

*14 请找出使用Bitlocker加密的虚拟磁盘文件中文件名为“my.vhd.txt”的文件内容。(30分)

这题...真的有解吗

已经尝试了n种方法但至今未解,除了出题方外现在应该还没有人解出此题,感兴趣的同学可以继续尝试,在此我提供一些思路:

在内存中找恢复密钥(EFDD)爆破弱密码(hashcat、bitcracker)在镜像中搜寻密钥相关信息(明文或恢复)15 请找出操作系统中安装的Android模拟器名称和安装日期。(20分)

取证结果的安装软件里:夜神模拟器

16 请找出操作系统中安装的浏览器最后浏览过的网站域名。(10分)

取证结果的上网记录里,安装的浏览器为Google Chrome,看历史记录,找最后访问的

域名的话只取https://passport.baidu.com/即可

17 请找出操作系统最后登录的用户。(10分)

取证结果的账户登录里

18 请找出操作系统安装日期。(10分)

取证结果的系统信息里

19 请找出操作系统中安装的浏览器“自动填充”中保存的网站密码信息(网站、用户名、密码)。(20分)

在已知用户poiuy登录密码的情况下,利用火眼的取证分析可以直接得到答案

20 请给出源磁盘的大小(字节)。(10分)

源磁盘30G,转换成bytes即可

30 * 1024 * 1024 * 1024 = 32212254720Part2 安卓模拟器分析

当事人在电脑上安装了Android模拟器,下面内容均为模拟器中Android系统及应用的信息,请分析如下事项:

21 请通过分析给出登录“大发”应用使用的密码保存在本地文件中时使用的加密算法名称。(10分)

目标应用在安卓模拟器里,所以首先要找到模拟器对应的虚拟机,在火眼取证分析里可以看到

在取证大师里也能找到,只不过他没有单独的手机模拟器识别的分类,找起来会不那么直观

把这个模拟器的vmdk文件导出,再用取证工具进行分析,手机应用后缀为apk,直接搜索关键字,可以看到名字比较独特的就一个

将其导出后丢进jeb反编译,找到和登录相关的部分

可以看到在loadPWD()方法中调用了securityGet()这个函数,继续跟进

可以看到在这个函数中有调用了一个加密相关的函数encrypt(),再跟进

得到加密算法

22 请提供“大发”应用安装包的SHA256哈希值。(10分)

可以取证大师直接跳转到base.apk的源文件进行计算,也可以把apk拿出来自己算,也可以雷电app智能分析

23 请分析系统自带浏览器,通过分析给出浏览器主页的链接。(20分)

此题仿真后打开模拟器,查看浏览器的设置即可,但是想要查看浏览器的设置,首先要解锁手机,单纯绕过密码解锁手机的方式很简单,在模拟器所在目录的bin目录下有adb.exe,可以用它来调用shell执行一些命令

首先打开模拟器,然后在bin目录打开cmd,执行adb.exe shell,接下来我们只需要找到储存锁屏密钥的文件并将其删去即可

我们通过夜神模拟器可以得知这个安卓虚拟机的版本是Android 7,此版本的锁屏密码相关文件如下

/data/system/gatekeeper.pattern.key /data/system/gatekeeper.password.key

我们先将这两个文件复制出来,在接下来解锁屏密码时会用到

adb pull /data/system/gatekeeper.pattern.key C:\Users\poiuy\Desktop adb pull /data/system/gatekeeper.password.key C:\Users\poiuy\Desktop

然后再删掉

rm -rf /data/system/gatekeeper.pattern.key rm -rf /data/system/gatekeeper.password.key

删除后重启即可直接进入模拟器

打开手机自带的浏览器,右上角设置,常规,打开即可看到设置的默认主页

24 请通过分析给出“大发”应用中使用的“极光推送”的AppKey值。(10分)

要解出这道题,首先我们要知道什么是AppKey

Appkey简称API接口验证序号,是用于验证API接入合法性的。接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆网站的用户名。

我们一般要在AndroidManifest.xml文件中定义三方平台的appkey,appid等属性值,类似下面的代码

在得知AppKey的所在位置后,我们就可以轻松找到本题的答案,以JEB为例

25 请分析给出“大发”应用的签名里的国家代码。(10分)

雷电app智能分析或APK Messenger

CN=Bee Weng, OU=App Team, O=Desheng Group, L=Manila, ST=Republika ng Pilipinas, C=PH

可以看到这些信息,参考文章,可以知道参数的含义分别是

CN: 名字和姓氏 OU: 组织单位名称 O: 组织名称 L: 城市或区域名称 ST: 省/市/自治区名称 C: 国家/地区代号

所以本题答案为PH,是菲律宾的国家域名

26 请通过分析给出Android设备的序列号。(10分)

进入模拟器后打开设置,最下面的关于平板电脑,状态信息

27 请通过分析给出连接的WiFi名称。(10分)

同样进入模拟器,设置中的WLAN

28 请分析给出“大发”应用的主Activity。(10分)

主Activity在AndroidManifest.xml文件中,形如以下

在将apk反编译后,在AndroidManifest.xml中搜索对应的字符串即可

这部分acitivty对应的android:name就是此题的答案

org.zywx.wbpalmstar.uex11818.activity.SplashActivity29 请提供“大发”应用包名称及安装日期。(10分)

包名直接雷电app分析就有

安装日期就在火眼中找到对应的包名

30 请通过分析给出登录“大发”应用使用的密码。(30分)

这道题我们可以利用逆向思维,这个应用有记住密码的功能,那么我们先去分析应用是如何记住密码的

在网上查找一些Android实现记住密码的方法,可以找到一些文章

https://blog.csdn.net/deniro_li/article/details/79594352https://blog.csdn.net/chaoyu168/article/details/53610211https://blog.csdn.net/qq_33200967/article/details/77263076

可以看到这些方法都有一个共同的特点:使用 SharedPreferences 来保存密码

接下来我们再分析本题所给的应用,以工具jadx为例,搜索关键字remember可以看到一系列相关的内容,其中就包含了rememberpassword

双击跳转到saveRememberPasswordStatus()这个函数,可以看到本应用也同样是使用 SharedPreferences 来保存密码

同时也可以看到在这个函数所在类的最开始也定义了一系列和用户登录相关的参数,其中也包括了用户名和密码

那么我们直接跳转到声明SharedPreferencesManager类的地方,在一开始可以看到默认存储的PreferencesName

可以初步确定保存在本地的用户名和密码存储在这个文件中,而 SharedPreferences 存储变量的文件路径为

/data/data/[应用程序包]/shared_prefs

使用 SharedPreferences 储存的参数都是以键值对的形式保存在xml文件中

包名我们在第29题已经得到了,即完整路径为

/data/data/com.elughkhktu.leohwiuirgk/shared_prefs/ds-preferences.xml

利用adb连shell,输出此文件的内容

可以看到用户登录账号为djujjf,即39题的答案

还有两个类似base64加密的非明文字符串

PH1fbMBQcfO/9coO/+2vAA== GmyQesTJK3mvE9Tf1wxfWA==

直接解base64为乱码,推测是加密过的密码,继续看源码,在下面可以看到加密相关的函数

加解密用到的函数为SharedPreferencesAesCrypto类下的encrypt和decrypt,直接跳转到类声明

可以看到是先AES/CBC/PKCS5Padding再base64,解密即可得到用户密码

31 请通过分析给出“大发”应用用户登录信息保存在本地的文件名。(10分)

上题中已经提到了

/data/data/com.elughkhktu.leohwiuirgk/shared_prefs/ds-preferences.xml32 请提供“大发”应用中硬编码的服务器URL列表中的域名。(10分)

硬编码是指将可变变量用一个固定值来代替的方法,与从外部获取数据或在运行时生成数据不同,硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,更通俗地讲,就是把一个本来应该(可以)写到配置信息中的信息直接在程序代码中写死了。

既然是直接写在程序代码中的网址,那我们就反编译apk后在源码中寻找

搜索关键字URL,可以找到一个叫WebServerUrl的类,打开可以看到里面都是些定义的文件字符串

根据定义我们可以知道这些都是软编码(非硬编码),指向的都是些可以直接修改的文件,而在下面我们可以看到四个非常醒目的网址

这四个网址都是直接写死在代码中,无法进行修改的,就是本题的答案

33 请通过分析给出Android版本号。(10分)

进入模拟器,设置最下面

34 请分析给出“大发”应用的开发者姓名。(10分)

可见25题,Bee Weng

35 请提供“大发”应用版本号。(10分)

APK Messenger

36 请通过分析给出系统中时区设置信息。(10分)

模拟器设置,日期和时间

37 请分析给出“大发”应用的签名中记录的有效期(日期)。(10分)

APK Messenger

38 请提供“大发”应用使用的权限。(10分)

进入模拟器,设置,应用,应用权限

39 请通过分析给出登录“大发”应用使用的账号。(10分)

见30题,djujjf

40 请通过分析给出Android系统解锁图案。(30分)

参考文章:Cracking gatekeeper.pattern.key

镜像所给Android版本为7.1.2(33题已经提到过),在6.0~8.0的Android版本中,对锁屏密码采取的加密方式为scrypt-hash

在第23题中,我们已经提到了此版本下Android的锁屏密码储存在本地的文件位置

/data/system/gatekeeper.pattern.key /data/system/gatekeeper.password.key

而有关锁屏密码的详细信息则储存在device_policies.xml文件中

/data/system/device_policies.xml

将这三个文件都提取出来,xml文件内容如下

可以看到密码的长度为9,所以先生成一个由不重复9位数组成的密码字典,再对密码进行比对hash爆破即可

import struct import binascii import scrypt N = 16384; r = 8; p = 1; f=open('gatekeeper.pattern.key', 'rb') blob = f.read() s = struct.Struct('


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有